package com.jk.mapper;

import com.jk.model.ProductBean;
import com.jk.model.UserBean;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;

import java.util.HashMap;
import java.util.List;

@Mapper
public interface UserMapper {

    @Select("select count(1) from t_user ")
    Integer getCount();
    /**
     * 根据商品id 查询商品详细内容
     * @return
     */
    @Select("SELECT tp.id,tp.productName,tp.productImg,tp.productPrice,tp.productColor FROM t_product tp WHERE tp.id = #{value}")
    ProductBean queryProductInfoById(Integer id);
    /**
     * 分页审核商品 查询count
     * @return
     */
    int findShopProductCount(HashMap<String, Object> param);
    /**
     * 审核商品查询list
     * @return
     */
    List<UserBean> findShopProductList(HashMap<String, Object> param);
    /**
     * 审核商品的操作
     * @param falg
     * @return
     */
    void pizhun(@Param("id")Integer id, @Param("falg")Integer falg);

    /**
     * 审核店铺的操作
     * @param id
     * @param falg
     */
    void caozuo(@Param("id")Integer id, @Param("falg")Integer falg);

    /**
     * 平台 卖家管理 冻结的商家 总条数
     * @param param
     * @return
     */
    int findUserShopDongJieCount(HashMap<String, Object> param);

    /**
     * 平台 卖家管理 冻结的商家
     * @param param
     * @return
     */
    List<UserBean> findUserShopListDongJie(HashMap<String, Object> param);

    /**
     * 平台 卖家管理 审核失败的商家 的总条数
     * @param param
     * @return
     */
    int findUserShopShiBaiCount(HashMap<String, Object> param);

    /**
     * 平台 卖家管理 审核失败的商家
     * @param param
     * @return
     */
    List<UserBean> findUserShopListShiBai(HashMap<String, Object> param);
    /**
     * 平台 卖家管理 营业中的商家 的 总条数
     * @param param
     * @return
     */
    int findUserShopYingYeCount(HashMap<String, Object> param);
    /**
     * 平台 卖家管理 营业中的商家
     * @param param
     * @return
     */
    List<UserBean> findUserShopListYingYe(HashMap<String, Object> param);

    /**
     * 平台 卖家管理 整顿中的商家 总条数
     * @param param
     * @return
     */
    int findUserShopZhengDunCount(HashMap<String, Object> param);

    /**
     * 平台 卖家管理 整顿中的商家
     * @param param
     * @return
     */
    List<UserBean> findUserShopListZhengDun(HashMap<String, Object> param);

    /**
     * 店铺审核成功 对应的 用户的 身份角色也会对应的成为 商家
     * @param id
     */
    @Update("update t_user tu left join t_store ts on tu.storeId = ts.id set tu.userRole = 2 where ts.id = #{value}")
    void updateUserRole(Integer id);

    //批准商品：加入Es
    @Select("select tp.id,tp.productName,tp.productImg,tp.productPrice,tp.productColor, " +
            " tp.productState,tpt.typeName,ts.stockNumber from t_product tp " +
            " LEFT JOIN t_product_type tpt on tp.typeId = tpt.typeId " +
            " LEFT JOIN t_stock ts on tp.productStockId = ts.id " +
            "where tp.id=#{value}")
    ProductBean findProduct(Integer id);
}
